package com.yfp.operation.mapper;

import com.yfp.operation.domain.MarActivityClient;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.yfp.operation.domain.dto.InviteRecordDTO;
import com.yfp.operation.domain.dto.ParticipationDTO;
import com.yfp.operation.domain.vo.HostClientVO;
import com.yfp.operation.domain.vo.InviteRecordVO;
import com.yfp.operation.domain.vo.ParticipationDetailVO;
import com.yfp.operation.domain.vo.PassiveCountVO;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 *
 * @description 针对表【mar_activity_client】的数据库操作Mapper
 * @createDate 2024-07-16 18:07:01
 * @Entity domain.com.yfp.operation.MarActivityClient
 */
public interface MarActivityClientMapper extends BaseMapper<MarActivityClient> {

    /**
     * 获取被邀请人数量
     *
     * @param ids
     * @return
     */
    List<PassiveCountVO> getPassiveCount(List<Long> ids);

    /**
     * 邀请记录
     *
     * @param inviteRecordDTO
     * @return
     */
    List<InviteRecordVO> inviteRecord(InviteRecordDTO inviteRecordDTO);

    /**
     * 获取邀请人信息
     *
     * @param ids
     * @return
     */
    List<HostClientVO> hostClient(@Param("ids") List<Integer> ids);

    /**
     * 参与详情
     *
     * @param participationDTO
     * @return
     */
    List<ParticipationDetailVO> participation(ParticipationDTO participationDTO);

    /**
     * 根据活动id和被邀请人id查询
     *
     * @param activityId
     * @param passiveClientId
     * @return
     */
    MarActivityClient selectByActivityIdAndPassiveClientId(@Param("activityId") Long activityId, @Param("passiveClientId") String passiveClientId);

    /**
     * 修改状态
     *
     * @param id
     * @param clientCouponId
     * @param status
     */
    void updateStatusById(@Param("id") Long id, @Param("clientCouponId") Long clientCouponId, @Param("status") int status);
}




